Chapter 8 Journal

Daily lab notes

## ── Attaching packages ─────────────────────────────────────────────────────────────── tidyverse 1.2.1 ──
## ✔ tibble  1.4.2     ✔ purrr   0.2.5
## ✔ tidyr   0.8.2     ✔ dplyr   0.7.8
## ✔ readr   1.1.1     ✔ stringr 1.3.1
## ✔ tibble  1.4.2     ✔ forcats 0.3.0
## ── Conflicts ────────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## 
## Attaching package: 'lubridate'
## The following object is masked from 'package:base':
## 
##     date
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout

8.1 4-12-2018

8.1.1 ekoseminar

Urban ecosystems are undergoing evolution at a much faster pace than one would imagine. Thinking about mutation which introduce allele frequency key to heritable diversity ?

8.1.2 meeting with jhrl

Certain species do flower early - confirmed by JHRL. The poster we presented does make sense.

8.1.3 ekoclimate

The energy budget of the area increases if the type of the cover changes, i.e if it changes from deciduous forest to crop/grassland then the net Long Wave radiation(flux?) increases. Long wave is the one that is reflected, so the area with a grass will absorb more heat through the day , and emilt radiation during the night? (More cooling ?). So, should we see more diurnal variation in crop/grasslands than forests ?. How should one charaterize the total energy flux on grasslands vs forests?

Shortware is the incoming radiation - i.e having a shorter wavelength, and when is reflected, it becomes long wave radiation. The longwave radiation emitted out is calculated by multipying Stephan Boltzman constant multiplied by epsilion(emissivity) and Temperature^4(Temperature of the object).

8.1.4 trenchR

Thermal conductance wrt to animals define the amount of heat which can escape out of animals. It depends on the difference between the animal and the outside temperature and you multipy by the thickness(lambda) and a proportion of the surface area(true area exposed to solar radiation).

Surace area to calculate the exposure is related to the exposed area - tricky as animals come in all shapes, mostly cylindrical with a sphere head if land based.

8.2 4-13-2018

8.3 4-20-2008

Heat transfer coefficient for Lizards. It is linear with windspeeed, and slope changes when the lizard is parallel or transverse

8.4 4-23-2008

Get diurnal variation across 5 sites at Mt Rainier

## 'data.frame':    8760 obs. of  11 variables:
##  $ Date.Time..PST.         : Factor w/ 8760 levels "2017-01-01 00:00",..: 8760 8759 8758 8757 8756 8755 8754 8753 8752 8751 ...
##  $ Battery.Voltage..v.     : num  13 13 12.4 12.9 12.9 ...
##  $ Wind.Speed.Minimum..mph.: num  0 0 0 0.71 1.42 2.13 0 0 0 0.71 ...
##  $ Wind.Speed.Average..mph.: num  1.68 1.68 1.6 2.23 2.76 ...
##  $ Wind.Speed.Maximum..mph.: num  3.55 3.55 3.55 3.55 3.55 4.26 3.55 3.55 4.26 6.39 ...
##  $ Wind.Direction..deg..   : num  21.04 6.89 19.41 26.65 16.74 ...
##  $ Solar.Pyranometer..W.m2.: num  0 0 0 0 0 ...
##  $ date                    : Date, format: "2017-12-31" "2017-12-31" ...
##  $ hr                      : chr  "00" "00" "00" "00" ...
##  $ min                     : chr  "00" "00" "00" "00" ...
##  $ month                   : chr  "12" "12" "12" "12" ...
## `geom_smooth()` using method = 'gam' and formula 'y ~ s(x, bs = "cs")'

## `geom_smooth()` using method = 'gam' and formula 'y ~ s(x, bs = "cs")'

## `geom_smooth()` using method = 'gam' and formula 'y ~ s(x, bs = "cs")'

Feedback

Better to do it houry so that daily patterns do confound it. So, now we have hourly solar radiation across all the sites.

## mapping: x = ~x, y = ~y 
## geom_text: na.rm = FALSE
## stat_identity: na.rm = FALSE
## position_identity

It does confirm that higher the sites, the solar radiation is slightly higher.

8.5 4-29-2008

Lets assume that solar radiation is infact more relevant at higher elevations, so snowmelt would be at a faster rate at higher elevations. Is snowmelt even at all the elevations ? Intuitively no as we often see that peaks hold-on to snow longer. (Just aside discussion).

Here, the goal is to see if there is a difference in radiation recieved at the sites. Reasoning being if the solar radiation recorded is different, that would mean differemt growing degree days. Lets look for June, July and August(JJA Summer). Summer solstice - June 21st.

## 
## Attaching package: 'gridExtra'
## The following object is masked from 'package:dplyr':
## 
##     combine
## No summary function supplied, defaulting to `mean_se()
## No summary function supplied, defaulting to `mean_se()

Lets check the daily max for each day in summer(JJA)

Compare wind and solar at two sites

8.6 5-21-2018

Wrangle the microclimate data

Look at the data

## 'data.frame':    326489 obs. of  4 variables:
##  $ X2018.5.8.16.35.01: Factor w/ 73277 levels "2018/5/10 0:00:03",..: 60336 60336 60336 60336 60336 60337 60338 60338 60338 60338 ...
##  $ X28CF6F0400008059 : Factor w/ 6 levels "287F5B04000080C5",..: 1 5 6 4 3 2 1 5 6 4 ...
##  $ X14.31            : num  14.8 14.4 14.8 14.3 14.1 ...
##  $ X4.14             : num  4.14 4.14 4.14 4.14 4.14 4.14 4.14 4.14 4.14 4.14 ...

Add Hour, month and day

Basic plot (May 10th)

Whole week

Add heights (Roghly .25 m apart)

Basic plot (May 10th) - By height

Add simulated wind profile

Redo the plot by height

Redo the plot by height for Wind Speed

Calculate (Wind speed at any height = U_star/K*log(Z/Z0))

Calculate zero plane displcement

Calculate roughness and Z*

Repeat this for each site ## 7-21-2018

## Loading required package: sp
## rgdal: version: 1.2-20, (SVN revision 725)
##  Geospatial Data Abstraction Library extensions to R successfully loaded
##  Loaded GDAL runtime: GDAL 2.1.3, released 2017/20/01
##  Path to GDAL shared files: /Library/Frameworks/R.framework/Versions/3.5/Resources/library/rgdal/gdal
##  GDAL binary built with GEOS: FALSE 
##  Loaded PROJ.4 runtime: Rel. 4.9.3, 15 August 2016, [PJ_VERSION: 493]
##  Path to PROJ.4 shared files: /Library/Frameworks/R.framework/Versions/3.5/Resources/library/rgdal/proj
##  Linking to sp version: 1.2-7
## Loading required package: raster
## 
## Attaching package: 'raster'
## The following object is masked from 'package:plotly':
## 
##     select
## The following object is masked from 'package:dplyr':
## 
##     select
## The following object is masked from 'package:tidyr':
## 
##     extract
## Loading required package: lattice
## Loading required package: latticeExtra
## Loading required package: RColorBrewer
## 
## Attaching package: 'latticeExtra'
## The following object is masked from 'package:ggplot2':
## 
##     layer

Combining multiple rasters into one single file.

##7-25-2018

Check the diurnal variation for summer, using Paradise as a proxy

Use SNOTEL data from Paradise(Latitude: 46.78 Longitude: -121.74)

Check the diurnal variation for summer, using Paradise as a proxy

Only Summer

For 2012

For 2011

8.7 7-26-2018

Lets look at the diurnal variation for three months, need to switch to NWAC as Snotel does not provide hourly breakdown

Paradise_5400_2017<- read.csv('./data/Paradise_5400_feet_2017.csv')
Paradise_5400_2016<- read.csv('./data/Paradise_5400_feet_2016.csv')
Paradise_5400_2015<- read.csv('./data/Paradise_5400_feet_2015.csv')

Paradise_5400_2017$date <- as.Date(Paradise_5400_2017$Date.Time..PST., "%Y-%m-%d")
Paradise_5400_2017$datetime <- as.Date(Paradise_5400_2017$Date.Time..PST., "%Y-%m-%d %H:%M")
library(lubridate)
library(gridExtra)
Paradise_5400_2017$hr <-lubridate::hour(lubridate::as_datetime(Paradise_5400_2017$Date.Time..PST.))
Paradise_5400_2017$min <-lubridate::minute(lubridate::as_datetime(Paradise_5400_2017$Date.Time..PST.))
Paradise_5400_2017$month <- strftime(Paradise_5400_2017$Date.Time..PST.,'%m')
Paradise_5400_2017$day <-strftime(Paradise_5400_2017$Date.Time..PST.,'%d')

Paradise9<- Paradise_5400_2017 %>% group_by(date,month,day,hr) %>% filter(as.numeric(month) %in% c(7,8,9) & as.numeric(day) %in% c(9) ) %>%  ggplot() +  geom_line(aes(as.numeric(hr),Temperature..deg.F.,group=month,color=month)) + theme_minimal() +xlab("Hour") + ylab("Temperature") + ggtitle("Paradise 5400 NWAC - Calendar year 2017  - 9th day") + scale_color_discrete(name="Month")
Paradise16<- Paradise_5400_2017 %>% group_by(date,month,day,hr) %>% filter(as.numeric(month) %in% c(7,8,9) & as.numeric(day) %in% c(16) ) %>%  ggplot() +  geom_line(aes(as.numeric(hr),Temperature..deg.F.,group=month,color=month)) + theme_minimal() +xlab("Hour") + ylab("Temperature") + ggtitle("Paradise 5400 NWAC - Calendar year 2017  - 16th day") + scale_color_discrete(name="Month")
Paradise23<- Paradise_5400_2017 %>% group_by(date,month,day,hr) %>% filter(as.numeric(month) %in% c(7,8,9) & as.numeric(day) %in% c(23) ) %>%  ggplot() +  geom_line(aes(as.numeric(hr),Temperature..deg.F.,group=month,color=month)) + theme_minimal() +xlab("Hour") + ylab("Temperature") + ggtitle("Paradise 5400 NWAC - Calendar year 2017  - 23rd day") + scale_color_discrete(name="Month")

grid.arrange(Paradise9,Paradise16,Paradise23)

Days overlapping eath other

Removing symbols, each line representing different day of the month

Paradise_5400_2017 %>% group_by(date,month,day,hr) %>% filter(as.numeric(month) %in% c(7,8,9) & as.numeric(day) %in% c(15,16,17,18,19,20) ) %>% ggplot(aes(x = hr, y = Temperature..deg.F.,color=month)) + geom_line(data = subset(Paradise_5400_2017,month %in% c("07") & day %in% c("15")  ))+ geom_line(data = subset(Paradise_5400_2017,month %in% c("08") & day %in% c("15")  ))+ geom_line(data = subset(Paradise_5400_2017,month %in% c("09") & day %in% c("15")  ))  +
geom_line(data = subset(Paradise_5400_2017,month %in% c("07") & day %in% c("16")  ))+ geom_line(data = subset(Paradise_5400_2017,month %in% c("08") & day %in% c("16")  ))+ geom_line(data = subset(Paradise_5400_2017,month %in% c("09") & day %in% c("16")  ))  +
geom_line(data = subset(Paradise_5400_2017,month %in% c("07") & day %in% c("17")  ))+ geom_line(data = subset(Paradise_5400_2017,month %in% c("08") & day %in% c("17")  ))+ geom_line(data = subset(Paradise_5400_2017,month %in% c("09") & day %in% c("17")  ))  +  
geom_line(data = subset(Paradise_5400_2017,month %in% c("07") & day %in% c("18")  ))+ geom_line(data = subset(Paradise_5400_2017,month %in% c("08") & day %in% c("18")  ))+ geom_line(data = subset(Paradise_5400_2017,month %in% c("09") & day %in% c("18")  ))  +  
geom_line(data = subset(Paradise_5400_2017,month %in% c("07") & day %in% c("19")  ))+ geom_line(data = subset(Paradise_5400_2017,month %in% c("08") & day %in% c("19")  ))+ geom_line(data = subset(Paradise_5400_2017,month %in% c("09") & day %in% c("19")  ))  + 
geom_line(data = subset(Paradise_5400_2017,month %in% c("07") & day %in% c("20")  ))+ geom_line(data = subset(Paradise_5400_2017,month %in% c("08") & day %in% c("20")  ))+ geom_line(data = subset(Paradise_5400_2017,month %in% c("09") & day %in% c("20")  ))  +    
theme_minimal() + xlab("Hour") + ylab("Temperature") + ggtitle("Paradise 5400 NWAC - Calendar year 2017  - Days(15-18) ") + scale_color_discrete(name="Month")+geom_jitter()

Removing symbols, point plot

8.8 8-7-2018

One of the arguments in the boundary layer relevance is that at different heights temperature profile varies. So, the vertically the temperature variation differs, and that is bound to influence physiology of organisms living in that strata.

To highlight the point, we could look at microclimate profiled data

Canopy and surface 3 cm vs 103cm

Load the required files

Seasonal temperatures at two heights

Seasonal difference during peak solar time is phonenomenal, there is almost 10 degree difference.

8.10 8-23-2018

Objectives for the day was to have a functional code for CN(Complete Node) and TN(Temperature only node).

KX and AX are here to help me out, just awesome!

We installed one CN with Anemometers, and tested it. The code needed some work, but we were able to bring-up one with four anemometers.

We had three objectives as we were putting the nodes up.

** Have a reliable real-time clock ** Mount the solar radiation sensor on a firm base(there is a bubble to help stablize) ** Have a status indicator to check the activity

8.11 8-24-2018

Few issues overnight.

DS1802B runs on 1-Wire, and on the same bus you can use umpteen number of them. By design, it should have worked, but we had problems with connecting more than four

8.12 9-23-2018

Analysis of data from the first field experiment. Mt Rainier deployment in the forest canopies.

## Parsed with column specification:
## cols(
##   date = col_character(),
##   temp1 = col_double(),
##   temp2 = col_double(),
##   temp3 = col_double(),
##   temp4 = col_double(),
##   windspeed1 = col_double(),
##   windspeed2 = col_double(),
##   windspeed3 = col_double(),
##   windspeed4 = col_double(),
##   winddirection1 = col_integer(),
##   winddirection2 = col_integer(),
##   winddirection3 = col_integer(),
##   winddirection4 = col_integer(),
##   solar = col_integer(),
##   battery = col_double()
## )
## Classes 'tbl_df', 'tbl' and 'data.frame':    6252 obs. of  15 variables:
##  $ date          : chr  "9/2/18 9:44:7" "9/2/18 9:47:9" "9/2/18 9:50:11" "9/2/18 9:53:12" ...
##  $ temp1         : num  20.9 20.9 20.8 20.8 20.7 ...
##  $ temp2         : num  21.1 21.1 21.1 21.1 20.9 ...
##  $ temp3         : num  21.5 21.4 21.1 21.2 21.2 ...
##  $ temp4         : num  20.8 20.8 20.8 20.8 20.8 ...
##  $ windspeed1    : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ windspeed2    : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ windspeed3    : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ windspeed4    : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ winddirection1: int  1007 1009 1006 1010 1012 1012 1006 1013 1013 1012 ...
##  $ winddirection2: int  953 953 955 953 957 958 953 959 957 959 ...
##  $ winddirection3: int  1004 1007 1004 1007 1008 1004 1008 1004 1008 1008 ...
##  $ winddirection4: int  979 975 976 974 977 976 979 974 973 973 ...
##  $ solar         : int  1022 1022 1021 1022 1023 1023 1021 1021 1021 1023 ...
##  $ battery       : num  4.18 4.18 4.18 4.18 4.18 4.18 4.18 4.18 4.18 4.18 ...
##  - attr(*, "spec")=List of 2
##   ..$ cols   :List of 15
##   .. ..$ date          : list()
##   .. .. ..- attr(*, "class")= chr  "collector_character" "collector"
##   .. ..$ temp1         : list()
##   .. .. ..- attr(*, "class")= chr  "collector_double" "collector"
##   .. ..$ temp2         : list()
##   .. .. ..- attr(*, "class")= chr  "collector_double" "collector"
##   .. ..$ temp3         : list()
##   .. .. ..- attr(*, "class")= chr  "collector_double" "collector"
##   .. ..$ temp4         : list()
##   .. .. ..- attr(*, "class")= chr  "collector_double" "collector"
##   .. ..$ windspeed1    : list()
##   .. .. ..- attr(*, "class")= chr  "collector_double" "collector"
##   .. ..$ windspeed2    : list()
##   .. .. ..- attr(*, "class")= chr  "collector_double" "collector"
##   .. ..$ windspeed3    : list()
##   .. .. ..- attr(*, "class")= chr  "collector_double" "collector"
##   .. ..$ windspeed4    : list()
##   .. .. ..- attr(*, "class")= chr  "collector_double" "collector"
##   .. ..$ winddirection1: list()
##   .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
##   .. ..$ winddirection2: list()
##   .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
##   .. ..$ winddirection3: list()
##   .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
##   .. ..$ winddirection4: list()
##   .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
##   .. ..$ solar         : list()
##   .. .. ..- attr(*, "class")= chr  "collector_integer" "collector"
##   .. ..$ battery       : list()
##   .. .. ..- attr(*, "class")= chr  "collector_double" "collector"
##   ..$ default: list()
##   .. ..- attr(*, "class")= chr  "collector_guess" "collector"
##   ..- attr(*, "class")= chr "col_spec"

Plot four temperatures

Plot four wind

Plot solar

Hourly temperature and precipitation (Pardise 5800) (vs Longmire station which is 2760 ft)

Extracting diurnal pattern for a day

Plot four wind along with other parameters

## Found a grid already named: 'isolated-segmeted-1 Grid'. Since fileopt='overwrite', I'll try to update it
## Found a plot already named: 'isolated-segmeted-1'. Since fileopt='overwrite', I'll try to update it

Trying smoothing to see the pattern

## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## Found a grid already named: 'wind-profile-smoothed Grid'. Since fileopt='overwrite', I'll try to update it
## Found a plot already named: 'wind-profile-smoothed'. Since fileopt='overwrite', I'll try to update it

8.13 10-1-2018

With respect to microclimate measurements, forest canopy seems to be quite choppy(wind). Intuition says that there is so much buffering that a strong wind that has originated elsewhere when makes into canopies dissipates much quicker.

Feedback: a) not descernible wind profile, so quite hard to interpolate. b) temperature seems to be too low c) the temperatures at different heights should track each other.

8.14 Next steps

– Extract similiar segments and compare – How would a diurnation curve look like in the canopies at different heights ? – In open, my understanding so far, the temp closer to ground is warmer(much ?) in early hours of the day, but as the day warms, it flips i.e. the temp closer to ground is not that warm compared to higher heights(vertically). The air is much warmer at higher heights around solar max. Is this true ? Verify. Now, there could be exceptions, like inversion or cold air pooling.

8.15 10-2-2018

Microclim manuscript update.

Feedback : a) Show 2-3 days instead of whole week. b) The raster plot - it is still not clear on what is the difference ? c) remove the seasonal plot as daily variation should be sufficient.

Reflection:

8.17 Open to-dos

– Take out the grid

Taking a shot at seasonal aspect of microclimate.

#10-04-2018

Plot solar

8.18 11-04-2018

Analysis of first set of data from the field.

Need to look at the hourly variation, we expect the ground to be cooler depending on the time of the day.

Lets look at one site

Do detailed variation

By minute

labelsx <- c( "0","12", "24", "36", "48" ,
             "1","12", "24", "36", "48",  "2" , "12", "24", "36", "48",
             "3", "12", "24", "36", "48",  "4",  "12", "24", "36", "48",
             "5", "12", "24", "36", "48",  "6",  "12", "24", "36", "48",
             "7", "12", "24", "36", "48", "8", "12", "24", "36", "48",
             "9", "12", "24", "36", "48", "10",  "12", "24", "36", "48",
             "11", "12", "24", "36", "48", "12",  "12", "24", "36", "48",
             "13", "12", "24", "36", "48", "14",  "12", "24", "36", "48",
             "15", "12", "24", "36", "48", "16",  "12", "24", "36", "48",
             "17", "12", "24", "36", "48", "18",  "12", "24", "36", "48",
             "19", "12", "24", "36", "48", "20",  "12", "24", "36", "48",
             "21", "12", "24", "36", "48", "22",  "12", "24", "36", "48",
             "23",  "12", "24", "36", "48")
## Day plot , Representive day
mclim_AE10_TN01_2018 %>% 
    filter(day(time) %in% '14' & !height %in% c(1.2)  )  %>%
  group_by(height,hr,minute) %>%
  summarise(tempatmin = mean(temp)) %>%
    group_by(b = gl(ceiling(n()/4), 4, n())) %>%
group_by(height,hr,b) %>%
   summarize(heights = levels(as.factor(height)), meantemp = mean(tempatmin),
             sd = sd(tempatmin)) %>%
  mutate(newx= as.numeric(paste(hr,b,sep=""))) %>%  #select(newx) %>% distinct(newx)
  group_by(height) %>%
  mutate(index=1:n()) %>%
   ggplot() +
   geom_line(aes(index,meantemp,col=as.factor(height))) +
   #geom_line(data=paradise[paradise$day==14,], aes(hour,temp,col='Reference')) +
    labs(x="Hour", y="Temperature (°C)", tag="(g)",colour = "Height (m)") +
   theme_minimal() +
  scale_x_continuous(breaks = seq(0,119,by=1), limits = c(0,120),labels = labelsx) +
   theme( panel.grid.major = element_blank(),

        legend.position = c(.2,.9),
         legend.title=element_text(size=9),
         legend.text=element_text(size=8),
         legend.background = element_rect(color = "grey90",
                                          size = .5, linetype = "dashed"),
         axis.text.x=element_text(angle=90, hjust=0)) +
   theme(strip.text.x = element_text(face="bold", size=4)) +
   theme(strip.text.y = element_text(face="bold", size=8))

Lets look at a closed site

Lets look at another site

Lets look at the Anemometer site

## Parsed with column specification:
## cols(
##   date = col_character(),
##   temp1 = col_double(),
##   temp2 = col_double(),
##   temp3 = col_double(),
##   temp4 = col_double(),
##   windspeed1 = col_double(),
##   windspeed2 = col_double(),
##   windspeed3 = col_double(),
##   windspeed4 = col_double(),
##   winddirection1 = col_integer(),
##   winddirection2 = col_integer(),
##   winddirection3 = col_integer(),
##   winddirection4 = col_integer(),
##   solar = col_integer(),
##   battery = col_double()
## )
##  [1] "date"           "temp1"          "temp2"          "temp3"         
##  [5] "temp4"          "windspeed1"     "windspeed2"     "windspeed3"    
##  [9] "windspeed4"     "winddirection1" "winddirection2" "winddirection3"
## [13] "winddirection4" "solar"          "battery"

By day with wind

By day with wind

Wind ptrofiles

## Parsed with column specification:
## cols(
##   date = col_character(),
##   temp1 = col_double(),
##   temp2 = col_double(),
##   temp3 = col_double(),
##   temp4 = col_double(),
##   windspeed1 = col_double(),
##   windspeed2 = col_double(),
##   windspeed3 = col_double(),
##   windspeed4 = col_double(),
##   winddirection1 = col_integer(),
##   winddirection2 = col_integer(),
##   winddirection3 = col_integer(),
##   winddirection4 = col_integer(),
##   solar = col_integer(),
##   battery = col_double()
## )
##  [1] "date"           "temp1"          "temp2"          "temp3"         
##  [5] "temp4"          "windspeed1"     "windspeed2"     "windspeed3"    
##  [9] "windspeed4"     "winddirection1" "winddirection2" "winddirection3"
## [13] "winddirection4" "solar"          "battery"
mclim_AE10_CN01_2018$time <- as_datetime(mclim_AE10_CN01_2018$date, format="%m/%d/%y %H:%M:%S",tz="America/Los_Angeles")

mclim_AE10_CN01_2018$time <-as.POSIXct(mclim_AE10_CN01_2018$time)
#Add hour month and day
## 11-05-2018
mclim_AE10_CN01_2018$hr <- hour(mclim_AE10_CN01_2018$time)
mclim_AE10_CN01_2018$minute <- minute(mclim_AE10_CN01_2018$time)
mclim_AE10_CN01_2018$day <- day(mclim_AE10_CN01_2018$time)
mclim_AE10_CN01_2018$month<- month(mclim_AE10_CN01_2018$time)

#Roughly one feet apart
mclim_AE10_CN01_2018$height <- 0

#therm1,28782877910A0217 - 0.6
#therm2,284CCE7791090235 - 1.2  
#therm3,286C7A7791080217 - 0.9 
#therm4,280A2577910A020D - 0.3

# mclim_AE10_CN01_2018[mclim_AE10_CN01_2018$nodeid=='2862367791040281' ,]$height <- 1.2
# mclim_AE10_CN01_2018[mclim_AE10_CN01_2018$nodeid=='286E9D77910802F2' ,]$height <- 0.6
# mclim_AE10_CN01_2018[mclim_AE10_CN01_2018$nodeid=='28A91B7791060263' ,]$height <- 0.3
# mclim_AE10_CN01_2018[mclim_AE10_CN01_2018$nodeid=='280704779106023F' ,]$height <- 0.9

## Day plot , Representive day
mclim_AE10_CN01_2018 %>% filter(month %in% c(9) & day(time) %in% '14'  & hr %in% c(13,14,15,16,17,18,19)) %>% 
ggplot() + geom_line( aes(time,windspeed1,color = '0.6')) +
   geom_line( aes(time,windspeed2,color = '1.2')) +
   geom_line( aes(time,windspeed3,color = '0.9')) +
   geom_line( aes(time,windspeed4,color = '0.3')) +
  theme_minimal() +
ggtitle("Variation in wind at AE10 w/Wind - Open")  + xlab("Date") +
  ylab("Wind (km/hr)") + labs(colour = "Height(m)",
                                subtitle="9/14/2018",caption="Data Source : http://nanoclimate.org") 

Diel

Diel by hour

## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

Diel does not make sense

## `geom_smooth()` using method = 'gam' and formula 'y ~ s(x, bs = "cs")'
## `geom_smooth()` using method = 'gam' and formula 'y ~ s(x, bs = "cs")'
## `geom_smooth()` using method = 'gam' and formula 'y ~ s(x, bs = "cs")'
## `geom_smooth()` using method = 'gam' and formula 'y ~ s(x, bs = "cs")'

Diel does not make sense

Lapse rate calculator

https://www.shodor.org/os411/courses/_master/tools/calculators/lapserate/

#11-19-2018

Few days in September (Late September)

Early in the month

Minute resolution

Early in the month

Minute resolution

Early in the month

Microclim(Without the grid) - Take off title - Remove grid - Remove caption - Remove temperature on a day legend

#12-02-2018